package com.alpaak.ewell.Singleton;

/**
 * 方法1：懒汉式线程安全
 * 虽然做到了线程安全，并且解决了多实例的问题，但是它并不高效。因为在任何时候只能有一个线程调用 getInstance()方法。
 * 但是同步操作只需要在第一次调用时才被需要，即第一次创建单例实例对象时。这就引出了双重检验锁。
 */
public class Singleton1 {
    //类加载时就初始化
    private static Singleton1 instance;
    
    private Singleton1(){}
 
    public static synchronized Singleton1 getInstance(){
        if(instance==null){
          instance = new Singleton1();
        }
        return instance;
    }
}
